package com.lpz.test;

import com.lpz.dao.IUserDao;
import com.lpz.dao.UserDaoimpl;
import com.lpz.domain  .User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class myIbatis {
    //入门案例的测试
    public static void main(String[] args) throws IOException {
        //1读取配置文件
        InputStream in= Resources.getResourceAsStream("SqlMapConfig.xml");
        //2创建SqlsessionFactory工厂
        SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
        SqlSessionFactory factory=builder.build(in);
        //3使用工厂生产Sqlsession对象
        //SqlSession sqlSession=factory.openSession();
        //4使用Sqlsession创建Dao接口的代理对象。
       // IUserDao userDao=sqlSession.getMapper(IUserDao.class);
        //因为手动写了实现类，因此不需要第4步和第3步，改成：使用工厂创建dao对象
        IUserDao userDao=new UserDaoimpl(factory);
        //5使用代理对象执行方法
        List<User> users=userDao.findAll();
        for (User user:users){
            System.out.println(user);
        }
        //6释放资源
        in.close();
    }
}
